package com.whcoding.base.project.pojo;


import com.opencsv.bean.CsvBindByName;
import com.opencsv.bean.CsvDate;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * (CarrierPO)表实体类
 *
 * @author makejava
 * @since 2022-03-15 10:45:30
 */
@Entity
@Table(name = "carrier")
public class CarrierPO implements Serializable {

	/**
	 * 承运商编码
	 */
	@CsvBindByName(column = "carrier_num")
	private String carrierCode;

	/**
	 * 承运商名称
	 */
	@CsvBindByName(column = "carrier_name_cn")
	private String carrierName;

	/**
	 * 承运商总账号编码
	 */
	@CsvBindByName(column = "account_num")
	private String accountNum;

	@CsvBindByName(column = "carrier_short_name_cn")
	private String carrierShortName;

	@CsvBindByName(column = "refresh_version")
	private String dataVersion;

	@CsvBindByName(column = "is_valid_flag")
	private String isValidFlag;

	@CsvBindByName(column = "create_time")
	@CsvDate("yyyy-MM-dd\'T\'HH:mm:ss")
	private Date createTime;

	@CsvBindByName(column = "update_time")
	@CsvDate("yyyy-MM-dd\'T\'HH:mm:ss")
	private Date updateTime;

	@CsvBindByName(column = "create_user_id")
	private Integer createUserId;

	@CsvBindByName(column = "update_user_id")
	private Integer updateUserId;

	@CsvBindByName(column = "dw_start_date")
	@CsvDate("yyyy-MM-dd")
	private Date dwStartDate;

	@CsvBindByName(column = "dw_end_date")
	@CsvDate("yyyy-MM-dd")
	private Date dwEndDate;

	@CsvBindByName(column = "dw_is_current_flag")
	private String dwIsCurrentFlag;

	@CsvBindByName(column = "dw_batch_num")
	private String dwBatchNum;

	/**
	 * 写入时间
	 */
	@CsvBindByName(column = "dw_create_time")
	@CsvDate("yyyy-MM-dd\'T\'HH:mm:ss")
	private Date dwCreateTime;

	@CsvBindByName(column = "dw_last_update_time")
	@CsvDate("yyyy-MM-dd\'T\'HH:mm:ss")
	private Date dwLastUpdateTime;

	@CsvBindByName(column = "dw_source_sys")
	private String dwSourceSys;

	@CsvBindByName(column = "dw_source_table")
	private String dwSourceTable;

	@Id
	@Column(name = "carrier_code")
	public String getCarrierCode() {
		return carrierCode;
	}

	public void setCarrierCode(String carrierCode) {
		this.carrierCode = carrierCode;
	}

	@Basic
	@Column(name = "carrier_name")
	public String getCarrierName() {
		return carrierName;
	}

	public void setCarrierName(String carrierName) {
		this.carrierName = carrierName;
	}

	@Basic
	@Column(name = "account_num")
	public String getAccountNum() {
		return accountNum;
	}

	public void setAccountNum(String accountNum) {
		this.accountNum = accountNum;
	}

	@Basic
	@Column(name = "carrier_short_name")
	public String getCarrierShortName() {
		return carrierShortName;
	}

	public void setCarrierShortName(String carrierShortName) {
		this.carrierShortName = carrierShortName;
	}

	@Basic
	@Column(name = "data_version")
	public String getDataVersion() {
		return dataVersion;
	}

	public void setDataVersion(String dataVersion) {
		this.dataVersion = dataVersion;
	}

	@Basic
	@Column(name = "is_valid_flag")
	public String getIsValidFlag() {
		return isValidFlag;
	}

	public void setIsValidFlag(String isValidFlag) {
		this.isValidFlag = isValidFlag;
	}

	@Basic
	@Column(name = "create_time")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Basic
	@Column(name = "update_time")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@Basic
	@Column(name = "create_user_id")
	public Integer getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(Integer createUserId) {
		this.createUserId = createUserId;
	}

	@Basic
	@Column(name = "update_user_id")
	public Integer getUpdateUserId() {
		return updateUserId;
	}

	public void setUpdateUserId(Integer updateUserId) {
		this.updateUserId = updateUserId;
	}

	@Basic
	@Column(name = "dw_start_date")
	public Date getDwStartDate() {
		return dwStartDate;
	}

	public void setDwStartDate(Date dwStartDate) {
		this.dwStartDate = dwStartDate;
	}

	@Basic
	@Column(name = "dw_end_date")
	public Date getDwEndDate() {
		return dwEndDate;
	}

	public void setDwEndDate(Date dwEndDate) {
		this.dwEndDate = dwEndDate;
	}

	@Basic
	@Column(name = "dw_is_current_flag")
	public String getDwIsCurrentFlag() {
		return dwIsCurrentFlag;
	}

	public void setDwIsCurrentFlag(String dwIsCurrentFlag) {
		this.dwIsCurrentFlag = dwIsCurrentFlag;
	}

	@Basic
	@Column(name = "dw_batch_num")
	public String getDwBatchNum() {
		return dwBatchNum;
	}

	public void setDwBatchNum(String dwBatchNum) {
		this.dwBatchNum = dwBatchNum;
	}

	@Basic
	@Column(name = "dw_create_time")
	public Date getDwCreateTime() {
		return dwCreateTime;
	}

	public void setDwCreateTime(Date dwCreateTime) {
		this.dwCreateTime = dwCreateTime;
	}

	@Basic
	@Column(name = "dw_last_update_time")
	public Date getDwLastUpdateTime() {
		return dwLastUpdateTime;
	}

	public void setDwLastUpdateTime(Date dwLastUpdateTime) {
		this.dwLastUpdateTime = dwLastUpdateTime;
	}

	@Basic
	@Column(name = "dw_source_sys")
	public String getDwSourceSys() {
		return dwSourceSys;
	}

	public void setDwSourceSys(String dwSourceSys) {
		this.dwSourceSys = dwSourceSys;
	}

	@Basic
	@Column(name = "dw_source_table")
	public String getDwSourceTable() {
		return dwSourceTable;
	}

	public void setDwSourceTable(String dwSourceTable) {
		this.dwSourceTable = dwSourceTable;
	}
}